package cn.miju.admin.system.service;

import cn.miju.admin.system.vo.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * <pre>
 * 用户
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-03-31 10:09
 */
public interface UserService {
    /**
     * 用户分页查询
     * @param inVO {@link UserPageInVO}
     * @return {@link Page<UserPageOutVO>}
     */
    Page<UserPageOutVO> getPage(UserPageInVO inVO);
    /**
     * 保存用户
     * @param inVO {@link UserSaveInVO}
     */
    void save(UserSaveInVO inVO);
    /**
     * 修改账户密码
     * @param inVO {@link UpdatePasswordInVO}
     */
    void updatePassword(UpdatePasswordInVO inVO);

    /**
     * 修改账户信息
     * @param inVO {@link UpdateAccountInfoInVO}
     */
    void updateAccountInfo(UpdateAccountInfoInVO inVO);

    /**
     * 重置密码
     * @param inVO {@link ResetPasswordInVO}
     */
    void resetPassword(ResetPasswordInVO inVO);

    /**
     * 批量删除用户
     * @param inVO {@link UserDeleteInVO}
     */
    void deletes(UserDeleteInVO inVO);
}
